<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
DRA Systems: OR-Objects 1.2.4: Class  Composite
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../drasys/or/graph/vrp/ClarkeWrightBase.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Composite.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_drasys.or.graph.vrp.ConstructBase">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
drasys.or.graph.vrp</FONT>
<BR>
Class  Composite</H2>
<PRE>
java.lang.Object
  |
  +--<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">drasys.or.graph.vrp.VRPBase</A>
        |
        +--<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">drasys.or.graph.vrp.ConstructBase</A>
              |
              +--<A HREF="../../../../drasys/or/graph/vrp/RandomizableBase.html">drasys.or.graph.vrp.RandomizableBase</A>
                    |
                    +--<B>drasys.or.graph.vrp.Composite</B>
</PRE>
<HR>
<DL>
<DT>public class <B>Composite</B><DT>extends <A HREF="../../../../drasys/or/graph/vrp/RandomizableBase.html">RandomizableBase</A><DT>implements <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></DL>

<P>
This class implements a composite VRP algorithm by combining a construction algorithm with 
an improvement algorithm.
A composite VRP algorithm is one that has a construction phase followed by an improvement phase.
In the VRP package all basic algorithms are implemented as either
a pure construction or improvement class with the associated interface.
This class implements the composite algorithm by constructing an initial tour using the 
construction algorithm and then improving it with the improvement algorithm.
<P>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="fields_inherited_from_class_drasys.or.graph.vrp.ConstructBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#_selected">_selected</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_drasys.or.graph.vrp.VRPBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_closed">_closed</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_depotKey">_depotKey</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_edgeKey">_edgeKey</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_graph">_graph</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_maxCost">_maxCost</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_maxLoad">_maxLoad</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_out">_out</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_properties">_properties</A>,  
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#_vehicleCost">_vehicleCost</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#Composite(drasys.or.graph.vrp.ConstructI, drasys.or.graph.vrp.ImproveI)">Composite</A></B>(<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A>&nbsp;construct,
          <A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A>&nbsp;improve)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#Composite(drasys.or.graph.vrp.ConstructI, drasys.or.graph.vrp.ImproveI, drasys.or.graph.GraphI)">Composite</A></B>(<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A>&nbsp;construct,
          <A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A>&nbsp;improve,
          <A HREF="../../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#constructClosedTours(java.lang.Object)">constructClosedTours</A></B>(java.lang.Object&nbsp;depotKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a solution with closed tours that begin and end at the depot vertex.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#constructInboundTours(java.lang.Object)">constructInboundTours</A></B>(java.lang.Object&nbsp;depotKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a solution with open tours that begin at arbitrary vertices and end at the depot vertex.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#constructOutboundTours(java.lang.Object)">constructOutboundTours</A></B>(java.lang.Object&nbsp;depotKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a solution with open tours that begin at the depot vertex and end at arbitrary vertices.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#getConstructAlgorithm()">getConstructAlgorithm</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#getCost()">getCost</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total cost of the solution tours.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#getCosts()">getCosts</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the cost of each solution tour.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#getImproveAlgorithm()">getImproveAlgorithm</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#getLoads()">getLoads</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the load for each solution tour.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Vector[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#getTours()">getTours</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the tours in the solution.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#selectVertex(boolean)">selectVertex</A></B>(boolean&nbsp;select)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selects all of the vertices in the graph to be in the tour if 'select' is true.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#selectVertex(boolean[])">selectVertex</A></B>(boolean[]&nbsp;select)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selects all of the vertices whose corresponding element in 'select' is true.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#selectVertex(java.lang.Object, boolean)">selectVertex</A></B>(java.lang.Object&nbsp;key,
             boolean&nbsp;select)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selects the vertex to be in the tour if 'select' is true.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#setCapacityConstraint(double)">setCapacityConstraint</A></B>(double&nbsp;maxLoadPerVehicle)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the vehicle capacity constraint.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#setCostConstraint(double)">setCostConstraint</A></B>(double&nbsp;maxCostPerVehicle)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the vehicle cost constraint.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#setEdgeKey(java.lang.Object)">setEdgeKey</A></B>(java.lang.Object&nbsp;edgeKey)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the edge key for the construction and improvement algorithms.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#setGraph(drasys.or.graph.GraphI)">setGraph</A></B>(<A HREF="../../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the graph for the construction and improvement algorithms.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#setProperties(drasys.or.graph.PropertiesI)">setProperties</A></B>(<A HREF="../../../../drasys/or/graph/PropertiesI.html">PropertiesI</A>&nbsp;properties)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the edge properties object for the construction and improvement algorithms.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../drasys/or/graph/vrp/Composite.html#setVehicleCost(double)">setVehicleCost</A></B>(double&nbsp;vehicleCost)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the vehicle cost constraint.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_drasys.or.graph.vrp.RandomizableBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/RandomizableBase.html">RandomizableBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/RandomizableBase.html#getRandom()">getRandom</A>, 
<A HREF="../../../../drasys/or/graph/vrp/RandomizableBase.html#setRandom(drasys.or.prob.RandomI)">setRandom</A>, 
<A HREF="../../../../drasys/or/graph/vrp/RandomizableBase.html#setStrength(int)">setStrength</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_drasys.or.graph.vrp.ConstructBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#isSelected(drasys.or.graph.VertexI)">isSelected</A>, 
<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#sizeOfSelected()">sizeOfSelected</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_drasys.or.graph.vrp.VRPBase"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class drasys.or.graph.vrp.<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#copyTours(java.util.Vector[])">copyTours</A>, 
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#getCost(drasys.or.graph.VertexI, drasys.or.graph.VertexI)">getCost</A>, 
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#getGraph()">getGraph</A>, 
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#getLoad(drasys.or.graph.VertexI)">getLoad</A>, 
<A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#getLoads(java.util.Vector[])">getLoads</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, 
equals, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
toString, 
wait, 
wait, 
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="Composite(drasys.or.graph.vrp.ConstructI, drasys.or.graph.vrp.ImproveI)"><!-- --></A><H3>
Composite</H3>
<PRE>
public <B>Composite</B>(<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A>&nbsp;construct,
                 <A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A>&nbsp;improve)</PRE>
<DL>
</DL>
<HR>

<A NAME="Composite(drasys.or.graph.vrp.ConstructI, drasys.or.graph.vrp.ImproveI, drasys.or.graph.GraphI)"><!-- --></A><H3>
Composite</H3>
<PRE>
public <B>Composite</B>(<A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A>&nbsp;construct,
                 <A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A>&nbsp;improve,
                 <A HREF="../../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="getConstructAlgorithm()"><!-- --></A><H3>
getConstructAlgorithm</H3>
<PRE>
public <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A> <B>getConstructAlgorithm</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getImproveAlgorithm()"><!-- --></A><H3>
getImproveAlgorithm</H3>
<PRE>
public <A HREF="../../../../drasys/or/graph/vrp/ImproveI.html">ImproveI</A> <B>getImproveAlgorithm</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setGraph(drasys.or.graph.GraphI)"><!-- --></A><H3>
setGraph</H3>
<PRE>
public void <B>setGraph</B>(<A HREF="../../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</PRE>
<DL>
<DD>Sets the graph for the construction and improvement algorithms.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#setGraph(drasys.or.graph.GraphI)">setGraph</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setProperties(drasys.or.graph.PropertiesI)"><!-- --></A><H3>
setProperties</H3>
<PRE>
public void <B>setProperties</B>(<A HREF="../../../../drasys/or/graph/PropertiesI.html">PropertiesI</A>&nbsp;properties)</PRE>
<DL>
<DD>Sets the edge properties object for the construction and improvement algorithms.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#setProperties(drasys.or.graph.PropertiesI)">setProperties</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setVehicleCost(double)"><!-- --></A><H3>
setVehicleCost</H3>
<PRE>
public void <B>setVehicleCost</B>(double&nbsp;vehicleCost)</PRE>
<DL>
<DD>Sets the vehicle cost constraint. The units must be the same as the edge traversal costs.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#setVehicleCost(double)">setVehicleCost</A> in class <A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setCostConstraint(double)"><!-- --></A><H3>
setCostConstraint</H3>
<PRE>
public void <B>setCostConstraint</B>(double&nbsp;maxCostPerVehicle)</PRE>
<DL>
<DD>Sets the vehicle cost constraint.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#setCostConstraint(double)">setCostConstraint</A> in class <A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setCapacityConstraint(double)"><!-- --></A><H3>
setCapacityConstraint</H3>
<PRE>
public void <B>setCapacityConstraint</B>(double&nbsp;maxLoadPerVehicle)</PRE>
<DL>
<DD>Sets the vehicle capacity constraint.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/VRPBase.html#setCapacityConstraint(double)">setCapacityConstraint</A> in class <A HREF="../../../../drasys/or/graph/vrp/VRPBase.html">VRPBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="setEdgeKey(java.lang.Object)"><!-- --></A><H3>
setEdgeKey</H3>
<PRE>
public void <B>setEdgeKey</B>(java.lang.Object&nbsp;edgeKey)</PRE>
<DL>
<DD>Sets the edge key for the construction and improvement algorithms.
The default value for 'edgeKey' is null.<DD><DL>
<DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#setEdgeKey(java.lang.Object)">setEdgeKey</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="getCost()"><!-- --></A><H3>
getCost</H3>
<PRE>
public double <B>getCost</B>()
               throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A></PRE>
<DL>
<DD>Returns the total cost of the solution tours.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if no solution was created.</DL>
</DD>
</DL>
<HR>

<A NAME="getLoads()"><!-- --></A><H3>
getLoads</H3>
<PRE>
public double[] <B>getLoads</B>()
                  throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A></PRE>
<DL>
<DD>Returns the load for each solution tour.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if no solution was created.</DL>
</DD>
</DL>
<HR>

<A NAME="getCosts()"><!-- --></A><H3>
getCosts</H3>
<PRE>
public double[] <B>getCosts</B>()
                  throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A></PRE>
<DL>
<DD>Returns the cost of each solution tour.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if no solution was created.</DL>
</DD>
</DL>
<HR>

<A NAME="getTours()"><!-- --></A><H3>
getTours</H3>
<PRE>
public java.util.Vector[] <B>getTours</B>()
                            throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A></PRE>
<DL>
<DD>Returns the tours in the solution.<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if no solution was created.</DL>
</DD>
</DL>
<HR>

<A NAME="constructOutboundTours(java.lang.Object)"><!-- --></A><H3>
constructOutboundTours</H3>
<PRE>
public double <B>constructOutboundTours</B>(java.lang.Object&nbsp;depotKey)
                              throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A>,
                                     <A HREF="../../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Construct a solution with open tours that begin at the depot vertex and end at arbitrary vertices.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#constructOutboundTours(java.lang.Object)">constructOutboundTours</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if a solution can not be constructed.</DL>
</DD>
</DL>
<HR>

<A NAME="constructInboundTours(java.lang.Object)"><!-- --></A><H3>
constructInboundTours</H3>
<PRE>
public double <B>constructInboundTours</B>(java.lang.Object&nbsp;depotKey)
                             throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A>,
                                    <A HREF="../../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Construct a solution with open tours that begin at arbitrary vertices and end at the depot vertex.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#constructInboundTours(java.lang.Object)">constructInboundTours</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if a solution can not be constructed.</DL>
</DD>
</DL>
<HR>

<A NAME="constructClosedTours(java.lang.Object)"><!-- --></A><H3>
constructClosedTours</H3>
<PRE>
public double <B>constructClosedTours</B>(java.lang.Object&nbsp;depotKey)
                            throws <A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A>,
                                   <A HREF="../../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Construct a solution with closed tours that begin and end at the depot vertex.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#constructClosedTours(java.lang.Object)">constructClosedTours</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B><DD><A HREF="../../../../drasys/or/graph/vrp/SolutionNotFoundException.html">SolutionNotFoundException</A> - if a solution can not be constructed.</DL>
</DD>
</DL>
<HR>

<A NAME="selectVertex(boolean[])"><!-- --></A><H3>
selectVertex</H3>
<PRE>
public void <B>selectVertex</B>(boolean[]&nbsp;select)</PRE>
<DL>
<DD>Selects all of the vertices whose corresponding element in 'select' is true.
Unselects all of the vertices whose corresponding element in 'select' is false.
All of the vertices are selected by default when the algorithm is constructed.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#selectVertex(boolean[])">selectVertex</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A><DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#selectVertex(boolean[])">selectVertex</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="selectVertex(boolean)"><!-- --></A><H3>
selectVertex</H3>
<PRE>
public void <B>selectVertex</B>(boolean&nbsp;select)</PRE>
<DL>
<DD>Selects all of the vertices in the graph to be in the tour if 'select' is true.
Unselects all of the vertices if 'select' is false.
All of the vertices are selected by default when the algorithm is constructed.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#selectVertex(boolean)">selectVertex</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A><DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#selectVertex(boolean)">selectVertex</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<HR>

<A NAME="selectVertex(java.lang.Object, boolean)"><!-- --></A><H3>
selectVertex</H3>
<PRE>
public void <B>selectVertex</B>(java.lang.Object&nbsp;key,
                         boolean&nbsp;select)
                  throws <A HREF="../../../../drasys/or/graph/VertexNotFoundException.html">VertexNotFoundException</A></PRE>
<DL>
<DD>Selects the vertex to be in the tour if 'select' is true.
Unselects the vertex if 'select' is false.
All of the vertices are selected by default when the algorithm is constructed.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructI.html#selectVertex(java.lang.Object, boolean)">selectVertex</A> in interface <A HREF="../../../../drasys/or/graph/vrp/ConstructI.html">ConstructI</A><DT><B>Overrides:</B><DD><A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html#selectVertex(java.lang.Object, boolean)">selectVertex</A> in class <A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html">ConstructBase</A></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../drasys/or/graph/vrp/ClarkeWrightBase.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../drasys/or/graph/vrp/ConstructBase.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Composite.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_drasys.or.graph.vrp.ConstructBase">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
Copyright(C)1997-2000 by DRA Systems all rights reserved. <A HREF=http://OpsResearch.com TARGET=HOME>OpsResearch.com</A>
</BODY>
</HTML>
